package com.xyf.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xyf.mapper.ProductInfoMapper;
import com.xyf.pojo.ProductInfo;
import com.xyf.pojo.ProductInfoExample;
import com.xyf.service.ProductInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class ProductInfoServiceImpl implements ProductInfoService {

    @Autowired
    ProductInfoMapper productInfoMapper;

    @Override
    public List<ProductInfo> getAll(){
        return  productInfoMapper.selectByExample(new ProductInfoExample());
    }

    @Override
    public PageInfo splitPage(int pageNum, int pageSize){
        // 分页插件使用PageHelper 工具类完成分页设置
        PageHelper.startPage(pageNum,pageSize);

        // 进行PageInfo的数据封装
        // 进行有条件的查询操作，必须要创建ProductInfoExample对象
        ProductInfoExample example = new ProductInfoExample();
        // 设置排序，按主键
        example.setOrderByClause("p_id desc");
        // 设置完排序后，取集合，切记切记：一定在取集合前，设置PageHelper.startPage()
        List<ProductInfo> list = productInfoMapper.selectByExample(example);
        // 将查询到的集合封装进PageInfo中
        PageInfo<ProductInfo> pageInfo = new PageInfo<>(list);

        return pageInfo;
    }

    @Override
    public int save(ProductInfo info) {
        return productInfoMapper.insert(info);
    }

    @Override
    public ProductInfo getById(int pid){
        return productInfoMapper.selectByPrimaryKey(pid);
    }

    @Override
    public int update(ProductInfo info){
        return productInfoMapper.updateByPrimaryKey(info);
    }
}
